package com.totoro.service;

import com.totoro.pojo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author TOTORO
 * @date 2021/7/12 9:38
 */
public interface ShopService {

    Integer findShopIdByPid(int pid);

    Shop findShopBySlid(int slid);

    Shop findShopBySid(int sid);

    Integer[] randomFindFiveShopId();

    List<Product> findShopMaxDealProduct();

    Shop findAllProduct(int sid, int limit1, int limit2);

    List<Product> findTermDescProduct(int sid, String descSql);

    List<Product> findAllShopCategoryAndProduct(int scid, String keyWord, String descSql, double lowPrice, double highPrice, int curr);

    List<Product> keywordSearchShopProduct(int sid, String keyWord, String descSql, double lowPrice, double highPrice, int curr );

    List<ShopCategory> findAllShopCategory(int sid);

    Integer checkShopCategoryName(ShopCategory shopCategory);

    Integer addShopCategory(String scName, int sid);

    Integer addProductGoToCategory(int scid, int pid);

    Integer deleteShopCategory(int scid);

    Integer updateCategoryProductEmpty(int scid);

    Integer updateShopStar(ProductComment productComment);

    Shop findOtherMaxScore(int slid);

    List<ShopSwitchImage> findShopSwitchImage(int sid, String ImagePath);

    Integer addShopAccess(int sid);

    List<DayCount> findShopDayAccessCount(int sid);

    Integer addShopPay(int sid, double payMoney);

    List<DayCount> findShopDayPayMoney(int sid);

    List<DayCount> findShopDayPayChildOrder(int sid);

    List<DayCount> findShopDayPayUserCount(int sid);

    Integer collectShop(int uid, int sid);

    CollectShop checkUserCollectShop(int uid, int sid);

    Map<CollectShop, List<Product>> findCollectShop(int uid, String keyword);

    Integer cancelCollectShop(int uid, int sid);

    Integer updateShopCollectCount(int type, int sid);

    Integer batchReduceShopCollectCount(Integer[] collectIds);

    Integer batchDeleteCollectShop(Integer[] collectIds);
}
